update historico.HistoricoDispensadorPosicionProgramacion set Fk_IdCuenta=99887766 where
Pk_IdDispensadorPosicionEstado in (select Fk_IdDispPosProgramacion from Satelite.AutorizacionesSatelite where FechaIngreso <'2020-01-01' )

ALTER TABLE [Satelite].[AutorizacionesSatelite] DROP CONSTRAINT [FK_AutorizacionesSatelite_HistoricoDispensadorPosicionProgramacion]
GO


delete from historico.HistoricoDispensadorPosicionProgramacion where FechaInicial < '2017-07-31' and Fk_IdCuenta is null
GO
delete from historico.HistoricoDispensadorPosicionProgramacion where FechaInicial < '2018-07-31' and Fk_IdCuenta is null
GO
delete from historico.HistoricoDispensadorPosicionProgramacion where FechaInicial < '2019-07-31' and Fk_IdCuenta is null
GO
delete from historico.HistoricoDispensadorPosicionProgramacion where FechaInicial < '2020-01-01' and Fk_IdCuenta is null
GO



alter TABLE [Satelite].[AutorizacionesSatelite]  WITH NOCHECK ADD  CONSTRAINT [FK_AutorizacionesSatelite_HistoricoDispensadorPosicionProgramacion] FOREIGN KEY([Fk_IdDispPosProgramacion])
REFERENCES [Historico].[HistoricoDispensadorPosicionProgramacion] ([Pk_IdDispensadorPosicionEstado])

update historico.HistoricoDispensadorPosicionProgramacion set Fk_IdCuenta=NULL where Fk_IdCuenta=99887766
GO

/****** Object:  Trigger [ActualizarHistoricoSaldos]    Script Date: 12/01/2021 7:56:52 a. m. ******/
DROP TRIGGER [Historico].[ActualizarHistoricoSaldos]
GO

ALTER TABLE [Historico].[HistoricoSaldos] DROP CONSTRAINT [FK_HistoricoSaldos_HistoricoVenta]
GO


UPDATE [Historico].[HistoricoSaldos] SET [Fk_IdVenta] =99887766 WHERE [Fk_IdVenta] IS NULL

GO

  delete from historico.HistoricoDetalleVentaCombustible where Fk_IdVenta  in
  (select (Pk_IdVenta) from historico.HistoricoVenta where FechaFinal < '2019-01-01' and Pk_IdVenta not in(
  select Pk_IdVenta from historico.HistoricoVenta where FechaFinal < '2019-01-01' 
  and 
  (
    Pk_IdVenta  in (select Fk_IdVenta from historico.HistoricoSaldos) 
	or
    Pk_IdVenta  in (select Fk_IdVenta from Satelite.AutorizacionesSatelite)
	or
    Pk_IdVenta  in (select Fk_IdVenta from Satelite.ImpresionVenta)
  )
  )
  )
go
  delete from historico.HistoricoVenta where FechaFinal < '2019-01-01' and Pk_IdVenta not in(
  select Pk_IdVenta from historico.HistoricoVenta where FechaFinal < '2019-01-01' 
  and 
  (
    Pk_IdVenta  in (select Fk_IdVenta from historico.HistoricoSaldos) 
	or
    Pk_IdVenta  in (select Fk_IdVenta from Satelite.AutorizacionesSatelite)
	or
    Pk_IdVenta  in (select Fk_IdVenta from Satelite.ImpresionVenta)
  )
  )
  
GO 

UPDATE [Historico].[HistoricoSaldos] SET [Fk_IdVenta] =NULL WHERE [Fk_IdVenta]=99887766

ALTER TABLE [Historico].[HistoricoSaldos]  WITH CHECK ADD  CONSTRAINT [FK_HistoricoSaldos_HistoricoVenta] FOREIGN KEY([Fk_IdVenta])
REFERENCES [Historico].[HistoricoVenta] ([Pk_IdVenta])
GO

ALTER TABLE [Historico].[HistoricoSaldos] CHECK CONSTRAINT [FK_HistoricoSaldos_HistoricoVenta]
GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE TRIGGER [Historico].[ActualizarHistoricoSaldos]
   ON  [Historico].[HistoricoSaldos]
   AFTER UPDATE
AS 
BEGIN

declare @PC varchar(1) = ';', @Espacio varchar(10) = space(1), @Null varchar(4)='null'

INSERT INTO [dbo].[OperacionOnline] ([Operacion],[Reintentos],[IsSubida])
     VALUES
	 ((select concat('HistoricoSaldos;Update;', 
	 cast([Pk_IdHistoricoSaldo] as varchar), @PC,
	 cast(cast([ValorOperacion] as decimal(20,3)) as varchar),@PC,
	 cast(cast([SaldoHistorico] as decimal(20,3)) as varchar),@PC,
	 cast([Fk_IdCuenta] as varchar), @PC,
	 isnull(cast([Fk_IdVenta] as varchar),@Null), @PC,
	 cast([Fk_IdTipoOperacion] as varchar), @PC,
	 (select valor from Configuracion where Nombre = 'CodigoOnline'))
	  from inserted),0,'false')

END
GO

ALTER TABLE [Historico].[HistoricoSaldos] ENABLE TRIGGER [ActualizarHistoricoSaldos]
GO